/**
 * 顺序队列的实现
 * 顺序队列的底层使用的是数组，
 * 除此之外，为了满足顺序队列中数据从队尾进，队头出且先进先出的要求，
 * 我们还需要定义两个指针（front 和 rear）分别用于指向顺序队列中的队头元素和队尾元素，
 */
#include <stdio.h>
#include <stdlib.h>

#define MAX_SIZE 50				//定义队列中最大元素
##define ElemType int

typedef struct {
	ElemType data[MAX_SIZE];	//存放队列元素
	int front, rear;			//队头指针，队尾指针
}SqQueue;

//队列初始化
void Init(SqQueue& Q);

//入队
void EnQueue(SqQueue& Q, ElemType e);

//出队
void DeQueue(SqQueue& Q, ElemType& e);

int main()
{

	return 0;
}

void Init(SqQueue& Q)
{
	Q.front = Q.rear;
}

void EnQueue(SqQueue& Q, ElemType e)
{
	//判断队列是否已满
	if(Q.front - Q.rear == MAX_SIZE -1) return;
	Q.data[Q.front++] = e;
}

void DeQueue(SqQueue& Q, ElemType& e)
{
	//判断队列是否已空
	if(Q.front == Q.rear) return ;
	e = Q.data[Q.front++];
}